DBListIt Version 2.06 for Delphi 1
==================================

DBListIt is a simple Data Control inspired (!) by dBase II.  It displays
information from a data source in a simple listing format, either to
the screen or to a printer.

Tasks
-----
Set up a TTable or TQuery component for the data you want to display.
Attach a TDataSource; attach a TDBListIt to the TDataSource, and 
invoke its Execute method to produce the listing.

  Note: For control over which fields are displayed, display format,
  etc., use the Fields Editor to create TFields for the fields you 
  want to see, then use the Object Inspector to specify any required 
  DisplayLabel, DisplayWidth etc. properties for the TFields.

  The '/' character may be entered in a DisplayLabel to create multi-
  line column headings to a maximum of 4 lines;  
  e.g. 'Country/Code' would generate the following column heading:
   
     Country
     Code
  
Properties
----------
BreakFields   : see 'Using DBListIt to generate sub-totals' below.
Caption       : A title displayed centred above each page. A '/' may be
                used to create multi-line captions (4 lines max).
DashChars     : a string of exactly three characters (default --=): 
                DashChar[1] is used to underline the column headings; 
                DashChar[2] appears above totals; and
                DashChar[3] appears below grand totals.
DataSource    : a TDataSource pointing to a TTable or a TQuery.
Destination   : ScreenPreview - DBListIt will list to the screen, a page
                at a time. You may abort the display by pressing <Escape>
                at the end of any page; any other key or a mouse click 
                moves on to the next page.
                Report - DBListIt will send the listing to the printer.
Font          : Use fixed pitch fonts like Courier New.  DBListIt does not
                try and cater for variable pitch (proportional) fonts.  
GrandTotals   : If True, prints a total of all the numeric fields at the end
                of the report.
LeftMargin    : Number of spaces to put on left hand side of page/screen.
TopMargin     : Number of blank lines to leave at top of page/screen
LineSpacing   : 1=Single Spaced, 2=Double, etc.
PageLength    : The number of lines you want verically down the page.
PageNumbering : If True, prints page numbers at the bottom of each page
                in the format -1- etc., centre justified.
PageWidth     : The number of characters you want printed across the page.
   
( Note: It is your responsibility to ensure that PageLength lines and
  PageWidth characters actually fit on the printed page using the Font 
  you have chosen.)

ScreenHeight       : used to specify the dimensions and position of the
ScreenLeft         : listing when the Destination is Screen.
ScreenWidth        :
ScreenTop          :
ScreenWindowState  :

Usetags       : If True, uses the Tag property of Fields for special formatting.
Version       : Shows the version.  Changing this property triggers an
               'About' box.

Methods
-------
Execute     : runs DBListIt.

Installation
------------
DBListIt is distributed as a PKZip .ZIP file. 
To install within Delphi, choose:

   Options / Install Components / Add / DBListIt.dcu / OK

DBListIt installs into the 'Samples' page as 'DBListIt'.

Using DBListIt to generate totals and sub-totals: GrandTotals and BreakFields
-----------------------------------------------------------------------------
The GrandTotals property controls whether DBListIt produces totals of all 
numeric fields at the end of the report.

BreakFields was added to DBListIt to enable it to produce more complex
reports, with subtotals every time a 'break field' changes.  This is
easiest to explain with an example:

When BreakFields = 0, DBListIt produces a simple listing, one line per
record:

Cntry Qtr Product Units Price Sales
----- --- ------- ----- ----- -----
 FR    1  Delphi    200   0.3  60.0
 FR    1  VB         50   0.2  10.0
 FR    2  Delphi    250   0.3  75.0
 FR    2  VB         25   0.2   5.0
 UK    1  Delphi    300   0.4 120.0
 UK    2  Delphi    350   0.4 140.0

When BreakFields > 0, DBListIt generates subtotals every time a break
field changes.  In this example, we want subtotals by Qtr and Cntry, 
so we set BreakFields=2.  Note that the data has already been sorted 
by Qtr within Cntry:

Cntry Qtr Product Units Price Sales
----- --- ------- ----- ----- -----
 FR    1  Delphi    200   0.3  60.0
          VB         50   0.2  10.0
                  ----- ----- -----
       1            250   0.5  70.0

       2  Delphi    250   0.3  75.0
          VB         25   0.2   5.0
                  ----- ----- -----
       2            275   0.5  80.0
                  ----- ----- -----
 FR                 525   1.0 150.0

 UK    1  Delphi    300   0.4 120.0

       2  Delphi    350   0.4 140.0
                   ---- ----- -----
                    650   0.8 260.0

Note that DBListIt removes redundant sub-totals;  it doesn't generate
a total of 300 for UK Delphi Qtr 1 sales, or 300 for UK Qtr 1 sales,
as they are all the same.

By default, Delphi will create totals for all numeric fields. To
suppress the creation of totals for numeric fields, set the 'Tag'
property of the field to 1, and set 'UseTags' in DBListIt to 'True':

Cntry Qtr Product Units Price Sales
----- --- ------- ----- ----- -----
 FR    1  Delphi    200   0.3  60.0
          VB         50   0.2  10.0
                  -----       -----
       1            250        70.0

       2  Delphi    250   0.3  75.0
          VB         25   0.2   5.0
                  -----       -----
       2            275        80.0
                  -----       -----
 FR                 525       150.0

 UK    1  Delphi    300   0.4 120.0

       2  Delphi    350   0.4 140.0
                   ----       -----
                    650       260.0

Future versions of DBListIt may use Tags for other purposes.

Restrictions
------------
When setting the Font property in the Object Inspector, don't click
the ellipsis button [...] in the Value column - double click the
+Font in the Caption column instead.

Important
---------
This version of DBListIt is freeware, supplied 'as is', to be used
entirely at your own risk.  Any comments, criticisms, suggestions for
enhancement to John McCreesh, jpmcc@pines.demon.co.uk.

For the latest version of DBListIt, check:
http://pines.demon.co.uk/jpmcc/

06-Aug-1996